#ifndef OCR_h
#define OCR_h

#include <opencv2/core/core.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <vector>
#include "opencv2/ml/ml.hpp"
using namespace cv;


class OCR
{
public:
	OCR(void);
	~OCR(void);
	void createSample();
	void train(string nombreArch);
	string detect(Mat src,Mat &dest);
	string detect(Mat src,Mat &dest,int* transiciones);
	void reconocerPlaca(Mat imagenColor,vector<vector<Point2f> > cuadrilateros);
	void init();
	void hallarImagenesReconocimiento(Mat imagenColor,vector<vector<Point2f> > cuadrilateros,vector<Mat> &numerosPlaca,vector<Mat> &histogramasHoriz,vector<Mat> &histogramaVert,vector<Mat> &placasDivididas,vector<int*> &divisioneshorizontales);
	string cadenaPlaca;
private:
	CvKNearest knn;
};

#endif
